package com.xiyu.service.convert.material;

import com.xiyu.service.vo.material.purchase.PurchaseSingleGetDetailOutput;
import com.xiyu.service.vo.material.purchase.PurchaseSingleGetOutput;
import com.xiyu.service.vo.material.purchase.PurchaseUpdateInput;
import com.xiyu.service.vo.material.purchase.PurchaseCreateInput;
import com.xiyu.service.model.material.order.MaterialPurchaseDetail;
import com.xiyu.service.vo.material.purchase.PurchasePageQueryOutput;
import com.xiyu.service.model.material.order.MaterialPurchase;
import java.util.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.babyfish.jimmer.Page;

/**
 * 采购单管理 Convert
 */
@Mapper
public interface PurchaseConvert {
    PurchaseConvert INSTANCE = Mappers.getMapper(PurchaseConvert.class);


    List<PurchasePageQueryOutput> pageQueryOutputConvert(List<MaterialPurchase> output);

    MaterialPurchase createInputConvert(PurchaseCreateInput input);

    MaterialPurchaseDetail createInputConvert(PurchaseCreateInput.detail input);

    MaterialPurchase updateInputConvert(PurchaseUpdateInput input);

    MaterialPurchaseDetail updateInputConvert(PurchaseUpdateInput.detail input);

    PurchaseSingleGetOutput singleGetOutputConvert(MaterialPurchase output);

    List<PurchaseSingleGetDetailOutput> singleGetDetailOutputConvert(List<MaterialPurchaseDetail> output);

}
